return {
    {
        "ray-x/go.nvim",
        dependencies = { -- optional packages
            "ray-x/guihua.lua",
            "neovim/nvim-lspconfig",
            "nvim-treesitter/nvim-treesitter",
        },
        keys = {
            { "<leader>lgc", "<cmd>GoCmt<cr>", desc = "添加文档" },
            { "<leader>lgd", "<cmd>GoDoc<cr>", desc = "显示文档" },
            { "<leader>lgta", "<cmd>GoAddTag -transform camelcase<cr>", desc = "添加tag" },
            { "<leader>lgtr", "<cmd>GoRmTag<cr>", desc = "删除tag" },
            { "<leader>lgfs", "<cmd>GoFillStruct<cr>", desc = "填充struct" },
            { "<leader>lgfw", "<cmd>GoFillSwitch<cr>", desc = "填充switch" },
            { "<leader>lgfe", "<cmd>GoIfErr<cr>", desc = "填充err" },
            { "<leader>lgfr", "<cmd>GoGenReturn<cr>", desc = "填充return" },
            { "<leader>lgg", "<cmd>GoGet<cr>", desc = "get" },
            { "<leader>lgv", "<cmd>GoVet<cr>", desc = "显示隐藏错误" },
            { "<leader>lge", "<cmd>GoAddExpTest<cr>", desc = "生成测试文件" },
            { "<leader>lgh", "<esc>:GoDoc ", desc = "帮助文档" },
            { "<leader>lgm", "<cmd>GoModTidy<cr>", desc = "go mod tidy" },
        },
        config = function()
            require("go").setup()
        end,
        event = { "CmdlineEnter" },
        ft = { "go", "gomod" },
        build = ':lua require("go.install").update_all_sync()', -- if you need to install/update all binaries
    },
}
